import request from '@/utils/request'

/**
 * 用户在线状态API
 */
export const userOnlineApi = {
  /**
   * 获取在线用户列表
   */
  getOnlineUsers() {
    return request({
      url: '/api/users/online/list',
      method: 'GET'
    })
  },

  /**
   * 获取在线用户数量
   */
  getOnlineUserCount() {
    return request({
      url: '/api/users/online/count',
      method: 'GET'
    })
  },

  /**
   * 检查指定用户是否在线
   */
  checkUserOnline(userId: number) {
    return request({
      url: `/api/users/online/check/${userId}`,
      method: 'GET'
    })
  },

  /**
   * 获取用户的所有会话（管理员功能）
   */
  getUserSessions(userId: number) {
    return request({
      url: `/api/users/online/sessions/${userId}`,
      method: 'GET'
    })
  },

  /**
   * 强制用户下线（管理员功能）
   */
  forceUserOffline(userId: number) {
    return request({
      url: `/api/users/online/force-offline/${userId}`,
      method: 'POST'
    })
  },

  /**
   * 清理超时用户（管理员功能）
   */
  cleanupTimeoutUsers() {
    return request({
      url: '/api/users/online/cleanup-timeout',
      method: 'POST'
    })
  },

  /**
   * 获取在线状态统计信息（管理员功能）
   */
  getOnlineStats() {
    return request({
      url: '/api/users/online/stats',
      method: 'GET'
    })
  }
}
